PolynomialExpressionQ
PolynomialExpressionQ[expr,x] gives True if expr is structurally a polynomial expression in x, and False otherwise.
PolynomialExpressionQ[expr,{x,y,…}] gives True if expr is structurally a polynomial expression in x,y,…, and False otherwise.
PolynomialExpressionQ[expr,{x,y,…},test] gives True if expr is structurally a polynomial expression in x,y,… with coefficients satisfying test, and False otherwise.
Please visit the official Wolfram Language Reference for more details and examples on core symbols.